<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Direct stiffness method</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Direct_stiffness_method"> <link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Direct_stiffness_method rootpage-Direct_stiffness_method skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Direct stiffness method</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<p>In <a href="Structural_engineering" title="Structural engineering">structural engineering</a>, the <b>direct stiffness method</b>, also known as the <b>matrix stiffness method</b>, is a <a href="Structural_analysis" title="Structural analysis">structural analysis</a> technique particularly suited for computer-automated analysis of complex structures including the <a href="Statically_indeterminate" title="Statically indeterminate">statically indeterminate</a> type. It is a <a href="Matrix_(mathematics)" title="Matrix (mathematics)">matrix</a> method that makes use of the members' <a href="Stiffness" title="Stiffness">stiffness</a> relations for computing member forces and displacements in structures. The direct stiffness method is the most common implementation of the <a href="Finite_element_method" title="Finite element method">finite element method</a> (FEM). In applying the method, the system must be modeled as a set of simpler, idealized elements interconnected at the nodes. The material stiffness properties of these elements are then, through <a href="Linear_algebra" title="Linear algebra">linear algebra</a>, compiled into a single matrix equation which governs the behaviour of the entire idealized structure. The structure’s unknown displacements and forces can then be determined by solving this equation. The direct stiffness method forms the basis for most commercial and free source finite element software.
</p><p>The direct stiffness method originated in the field of <a href="Aerospace" title="Aerospace">aerospace</a>. Researchers looked at various approaches for analysis of complex airplane frames. These included <a href="Elasticity_theory" class="mw-redirect" title="Elasticity theory">elasticity theory</a>, <a href="Energy_principles_in_structural_mechanics" title="Energy principles in structural mechanics">energy principles in structural mechanics</a>, <a href="Flexibility_method" title="Flexibility method">flexibility method</a> and <a href="Matrix_stiffness_method" class="mw-redirect" title="Matrix stiffness method">matrix stiffness method</a>. It was through analysis of these methods that the direct stiffness method emerged as an efficient method ideally suited for computer implementation.
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="History">History</h2></div>
<p>Between 1934 and 1938 <a href="Arthur_Roderick_Collar" title="Arthur Roderick Collar">A. R. Collar</a> and W. J. Duncan published the first papers with the representation and terminology for matrix systems that are used today. Aeroelastic research continued through <a href="World_War_II" title="World War II">World War II</a> but publication restrictions from 1938 to 1947 make this work difficult to trace. The second major breakthrough in matrix structural analysis occurred through 1954 and 1955 when professor <a href="John_H._Argyris" class="mw-redirect" title="John H. Argyris">John H. Argyris</a> systemized the concept of assembling elemental components of a structure into a system of equations. Finally, on Nov. 6 1959, M. J. Turner, head of <a href="Boeing" title="Boeing">Boeing</a>’s Structural Dynamics Unit, published a paper outlining the direct stiffness method as an efficient model for computer implementation (<a href="#CITEREFFelippa2001">Felippa 2001</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Member_stiffness_relations">Member stiffness relations</h2></div>
<p>A typical member stiffness relation has the following general form:
</p>
<style data-mw-deduplicate="TemplateStyles:r1266403038">
/* start https://en.wikipedia.org/ */
.mw-parser-output table.numblk{border-collapse:collapse;border:none;margin-top:0;margin-right:0;margin-bottom:0}.mw-parser-output table.numblk>tbody>tr>td{vertical-align:middle;padding:0}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2){width:99%}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table{border-collapse:collapse;margin:0;border:none;width:100%}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table>tbody>tr:first-child>td:first-child,.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table>tbody>tr:first-child>td:last-child{padding:0 0.4ex}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table>tbody>tr:first-child>td:nth-child(2){width:100%;padding:0}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table>tbody>tr:last-child>td{padding:0}.mw-parser-output table.numblk>tbody>tr>td:last-child{font-weight:bold}.mw-parser-output table.numblk.numblk-raw-n>tbody>tr>td:last-child{font-weight:unset}.mw-parser-output table.numblk>tbody>tr>td:last-child::before{content:"("}.mw-parser-output table.numblk>tbody>tr>td:last-child::after{content:")"}.mw-parser-output table.numblk.numblk-raw-n>tbody>tr>td:last-child::before,.mw-parser-output table.numblk.numblk-raw-n>tbody>tr>td:last-child::after{content:none}.mw-parser-output table.numblk>tbody>tr>td{border:none}.mw-parser-output table.numblk.numblk-border>tbody>tr>td{border:thin solid}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table>tbody>tr:first-child>td{border:none}.mw-parser-output table.numblk.numblk-border>tbody>tr>td:nth-child(2)>table>tbody>tr:first-child>td{border:thin solid}.mw-parser-output table.numblk>tbody>tr>td:nth-child(2)>table>tbody>tr:last-child>td{border-left:none;border-right:none;border-bottom:none}.mw-parser-output table.numblk.numblk-border>tbody>tr>td:nth-child(2)>table>tbody>tr:last-child>td{border-left:thin solid;border-right:thin solid;border-bottom:thin solid}.mw-parser-output table.numblk:target{color:var(--color-base,#202122);background-color:#cfe8fd}@media screen{html.skin-theme-clientpref-night .mw-parser-output table.numblk:target{color:var(--color-base,#eaecf0);background-color:#301702}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output table.numblk:target{color:var(--color-base,#eaecf0);background-color:#301702}}
/* end https://en.wikipedia.org/ */
</style><table role="presentation" class="numblk" style="margin-left: 1.6em;"><tbody><tr><td class="nowrap"><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{m}=\mathbf {k} ^{m}\mathbf {q} ^{m}+\mathbf {Q} ^{om}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
<mo>=</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{m}=\mathbf {k} ^{m}\mathbf {q} ^{m}+\mathbf {Q} ^{om}}</annotation>
</semantics>
</math></span><img src="./0cd69b9efd9b6ed2832efe853c49ceb76f82905c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:20.28ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{m}=\mathbf {k} ^{m}\mathbf {q} ^{m}+\mathbf {Q} ^{om}}" loading="lazy"></span></td> <td></td> <td class="nowrap"><span id="math_1" class="reference nourlexpansion" style="font-weight:bold;">1</span></td></tr></tbody></table>
<p>where
</p>
<dl><dd><i>m</i> = member number <i>m</i>.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{m}}</annotation>
</semantics>
</math></span><img src="./6519c1953a0feea489d1ff1c050edab77648641e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.683ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{m}}" loading="lazy"></span> = vector of member's characteristic forces, which are unknown internal forces.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {k} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {k} ^{m}}</annotation>
</semantics>
</math></span><img src="./fb204cd1f57de9c27f08b9d33d7a8374c35120b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.086ex; height:2.343ex;" alt="{\displaystyle \mathbf {k} ^{m}}" loading="lazy"></span> = member stiffness matrix which characterizes the member's resistance against deformations.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} ^{m}}</annotation>
</semantics>
</math></span><img src="./f8b3635b9c65afdf28568e84732232c79a728699.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.092ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} ^{m}}" loading="lazy"></span> = vector of member's characteristic displacements or deformations.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{om}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{om}}</annotation>
</semantics>
</math></span><img src="./8b29ac875cd422b0abf2aa236639f01627d3b9f6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.48ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{om}}" loading="lazy"></span> = vector of member's characteristic forces caused by external effects (such as known forces and temperature changes) applied to the member while <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} ^{m}=0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
<mo>=</mo>
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} ^{m}=0}</annotation>
</semantics>
</math></span><img src="./fbf766faeefb7adfe0f5a36e95206f01cc0dd624.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:7.353ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} ^{m}=0}" loading="lazy"></span>.</dd></dl>
<p>If <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} ^{m}}</annotation>
</semantics>
</math></span><img src="./f8b3635b9c65afdf28568e84732232c79a728699.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.092ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} ^{m}}" loading="lazy"></span> are member deformations rather than absolute displacements, then <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{m}}</annotation>
</semantics>
</math></span><img src="./6519c1953a0feea489d1ff1c050edab77648641e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.683ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{m}}" loading="lazy"></span> are independent member forces, and in such case (1) can be inverted to yield the so-called <i>member flexibility matrix</i>, which is used in the <a href="Flexibility_method" title="Flexibility method">flexibility method</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="System_stiffness_relation">System stiffness relation</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="Stiffness_matrix" title="Stiffness matrix">Stiffness matrix</a></div>
<p>For a system with many members interconnected at points called nodes, the members' stiffness relations such as Eq.(1) can be integrated by making use of the following observations:
</p>
<ul><li>The member deformations <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} ^{m}}</annotation>
</semantics>
</math></span><img src="./f8b3635b9c65afdf28568e84732232c79a728699.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.092ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} ^{m}}" loading="lazy"></span> can be expressed in terms of system nodal displacements <b>r</b> in order to ensure compatibility between members. This implies that <b>r</b> will be the primary unknowns.</li>
<li>The member forces <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{m}}</annotation>
</semantics>
</math></span><img src="./6519c1953a0feea489d1ff1c050edab77648641e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.683ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{m}}" loading="lazy"></span> help to the keep the nodes in equilibrium under the nodal forces <b>R</b>. This implies that the right-hand-side of (1) will be integrated into the right-hand-side of the following nodal equilibrium equations for the entire system:</li></ul>
<table role="presentation" class="numblk" style="margin-left: 1.6em;"><tbody><tr><td class="nowrap"><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {R} =\mathbf {Kr} +\mathbf {R} ^{o}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">K</mi>
<mi mathvariant="bold">r</mi>
</mrow>
<mo>+</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {R} =\mathbf {Kr} +\mathbf {R} ^{o}}</annotation>
</semantics>
</math></span><img src="./61c7549c27fa986dd634b3c217679f98192f2907.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:14.171ex; height:2.509ex;" alt="{\displaystyle \mathbf {R} =\mathbf {Kr} +\mathbf {R} ^{o}}" loading="lazy"></span></td> <td></td> <td class="nowrap"><span id="math_2" class="reference nourlexpansion" style="font-weight:bold;">2</span></td></tr></tbody></table>
<p>where
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {R} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {R} }</annotation>
</semantics>
</math></span><img src="./5de85fcc2a00d8ba14aae84aeef812d7fef4b3d5.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.003ex; height:2.176ex;" alt="{\displaystyle \mathbf {R} }" loading="lazy"></span> = vector of nodal forces, representing external forces applied to the system's nodes.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {K} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">K</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {K} }</annotation>
</semantics>
</math></span><img src="./368b3827262016c64b340a761d9b95e0b031d6dd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.094ex; height:2.176ex;" alt="{\displaystyle \mathbf {K} }" loading="lazy"></span> = system stiffness matrix, which is established by <i>assembling</i> the members' stiffness matrices <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {k} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {k} ^{m}}</annotation>
</semantics>
</math></span><img src="./fb204cd1f57de9c27f08b9d33d7a8374c35120b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.086ex; height:2.343ex;" alt="{\displaystyle \mathbf {k} ^{m}}" loading="lazy"></span>.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} }</annotation>
</semantics>
</math></span><img src="./eca0f46511c4c986c48b254073732c0bd98ae0c1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.102ex; height:1.676ex;" alt="{\displaystyle \mathbf {r} }" loading="lazy"></span> = vector of system's nodal displacements that can define all possible deformed configurations of the system subject to arbitrary nodal forces <b>R</b>.</dd>
<dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {R} ^{o}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {R} ^{o}}</annotation>
</semantics>
</math></span><img src="./b780ac201428945b71472557909470520ceed868.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.033ex; height:2.343ex;" alt="{\displaystyle \mathbf {R} ^{o}}" loading="lazy"></span> = vector of equivalent nodal forces, representing all external effects other than the nodal forces which are already included in the preceding nodal force vector <b>R</b>. This vector is established by assembling the members' <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{om}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{om}}</annotation>
</semantics>
</math></span><img src="./8b29ac875cd422b0abf2aa236639f01627d3b9f6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.48ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{om}}" loading="lazy"></span>.</dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Solution">Solution</h2></div>
<p>The system stiffness matrix <b>K</b> is square since the vectors <b>R</b> and <b>r</b> have the same size. In addition, it is symmetric because <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {k} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {k} ^{m}}</annotation>
</semantics>
</math></span><img src="./fb204cd1f57de9c27f08b9d33d7a8374c35120b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.086ex; height:2.343ex;" alt="{\displaystyle \mathbf {k} ^{m}}" loading="lazy"></span> is symmetric. Once the supports' constraints are accounted for in (2), the nodal displacements are found by solving the <a href="System_of_linear_equations" title="System of linear equations">system of linear equations</a> (2), symbolically:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {r} =\mathbf {K} ^{-1}(\mathbf {R} -\mathbf {R} ^{o})\qquad \qquad \qquad \mathrm {(3)} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">r</mi>
</mrow>
<mo>=</mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">K</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
<mo>−<!-- − --></mo>
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
</mrow>
</msup>
<mo stretchy="false">)</mo>
<mspace width="2em"></mspace>
<mspace width="2em"></mspace>
<mspace width="2em"></mspace>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">(</mo>
<mn>3</mn>
<mo stretchy="false">)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {r} =\mathbf {K} ^{-1}(\mathbf {R} -\mathbf {R} ^{o})\qquad \qquad \qquad \mathrm {(3)} }</annotation>
</semantics>
</math></span><img src="./92adb71772b6ea7363cac0a5a8d00328630b1211.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:35.22ex; height:3.176ex;" alt="{\displaystyle \mathbf {r} =\mathbf {K} ^{-1}(\mathbf {R} -\mathbf {R} ^{o})\qquad \qquad \qquad \mathrm {(3)} }" loading="lazy"></span></dd></dl>
<p>Subsequently, the members' characteristic forces may be found from Eq.(1) where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} ^{m}}</annotation>
</semantics>
</math></span><img src="./f8b3635b9c65afdf28568e84732232c79a728699.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.092ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} ^{m}}" loading="lazy"></span> can be found from <b>r</b> by compatibility consideration.
</p>
<div class="mw-heading mw-heading2"><h2 id="The_direct_stiffness_method">The direct stiffness method</h2></div>
<p>It is common to have Eq.(1) in a form where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {q} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {q} ^{m}}</annotation>
</semantics>
</math></span><img src="./f8b3635b9c65afdf28568e84732232c79a728699.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.092ex; height:2.676ex;" alt="{\displaystyle \mathbf {q} ^{m}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{om}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{om}}</annotation>
</semantics>
</math></span><img src="./8b29ac875cd422b0abf2aa236639f01627d3b9f6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.48ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{om}}" loading="lazy"></span> are, respectively, the member-end displacements and forces matching in direction with <b>r</b> and <b>R</b>. In such case, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {K} }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">K</mi>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {K} }</annotation>
</semantics>
</math></span><img src="./368b3827262016c64b340a761d9b95e0b031d6dd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.094ex; height:2.176ex;" alt="{\displaystyle \mathbf {K} }" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {R} ^{o}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">R</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {R} ^{o}}</annotation>
</semantics>
</math></span><img src="./b780ac201428945b71472557909470520ceed868.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.033ex; height:2.343ex;" alt="{\displaystyle \mathbf {R} ^{o}}" loading="lazy"></span> can be obtained by direct summation of the members' matrices <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {k} ^{m}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">k</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {k} ^{m}}</annotation>
</semantics>
</math></span><img src="./fb204cd1f57de9c27f08b9d33d7a8374c35120b8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.086ex; height:2.343ex;" alt="{\displaystyle \mathbf {k} ^{m}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mathbf {Q} ^{om}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mrow class="MJX-TeXAtom-ORD">
<mi mathvariant="bold">Q</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>o</mi>
<mi>m</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mathbf {Q} ^{om}}</annotation>
</semantics>
</math></span><img src="./8b29ac875cd422b0abf2aa236639f01627d3b9f6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:4.48ex; height:2.676ex;" alt="{\displaystyle \mathbf {Q} ^{om}}" loading="lazy"></span>. The method is then known as the direct stiffness method.
</p><p>The advantages and disadvantages of the matrix stiffness method are compared and discussed in the <a href="Flexibility_method" title="Flexibility method">flexibility method</a> article.
</p>
<div class="mw-heading mw-heading2"><h2 id="Example">Example</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Breakdown">Breakdown</h3></div>
<p>The first step when using the direct stiffness method is to identify the individual elements which make up the structure.
</p><p><span class="mw-default-size" typeof="mw:File"></span>
</p><p>Once the elements are identified, the structure is disconnected at the nodes, the points which connect the different elements together.
</p><p><span class="mw-default-size" typeof="mw:File"></span>
</p><p>Each element is then analyzed individually to develop member stiffness equations. The forces and displacements are related through the element stiffness matrix which depends on the geometry and properties of the element.
</p><p>A truss element can only transmit forces in compression or tension. This means that in two dimensions, each node has two <a href="Degrees_of_freedom_(mechanics)" title="Degrees of freedom (mechanics)">degrees of freedom</a> (DOF): horizontal and vertical displacement. The resulting equation contains a four by four stiffness matrix.
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\f_{x2}\\f_{y2}\\\end{bmatrix}}={\begin{bmatrix}k_{11}&k_{12}&k_{13}&k_{14}\\k_{21}&k_{22}&k_{23}&k_{24}\\k_{31}&k_{32}&k_{33}&k_{34}\\k_{41}&k_{42}&k_{43}&k_{44}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\u_{x2}\\u_{y2}\\\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>11</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>12</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>13</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>14</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>21</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>22</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>23</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>24</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>31</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>32</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>33</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>34</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>41</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>42</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>43</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>44</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\f_{x2}\\f_{y2}\\\end{bmatrix}}={\begin{bmatrix}k_{11}&k_{12}&k_{13}&k_{14}\\k_{21}&k_{22}&k_{23}&k_{24}\\k_{31}&k_{32}&k_{33}&k_{34}\\k_{41}&k_{42}&k_{43}&k_{44}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\u_{x2}\\u_{y2}\\\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./3fc2a1cec439092f5b646a5f80b79736a30e527b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.005ex; width:40.43ex; height:13.176ex;" alt="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\f_{x2}\\f_{y2}\\\end{bmatrix}}={\begin{bmatrix}k_{11}&k_{12}&k_{13}&k_{14}\\k_{21}&k_{22}&k_{23}&k_{24}\\k_{31}&k_{32}&k_{33}&k_{34}\\k_{41}&k_{42}&k_{43}&k_{44}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\u_{x2}\\u_{y2}\\\end{bmatrix}}}" loading="lazy"></span>
</p><p>A frame element is able to withstand bending moments in addition to compression and tension. This results in three degrees of freedom: horizontal displacement, vertical displacement and in-plane rotation. The stiffness matrix in this case is six by six.
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\m_{z1}\\f_{x2}\\f_{y2}\\m_{z2}\\\end{bmatrix}}={\begin{bmatrix}k_{11}&k_{12}&k_{13}&k_{14}&k_{15}&k_{16}\\k_{21}&k_{22}&k_{23}&k_{24}&k_{25}&k_{26}\\k_{31}&k_{32}&k_{33}&k_{34}&k_{35}&k_{36}\\k_{41}&k_{42}&k_{43}&k_{44}&k_{45}&k_{46}\\k_{51}&k_{52}&k_{53}&k_{54}&k_{55}&k_{56}\\k_{61}&k_{62}&k_{63}&k_{64}&k_{65}&k_{66}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\\theta _{z1}\\u_{x2}\\u_{y2}\\\theta _{z2}\\\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>m</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>11</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>12</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>13</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>14</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>15</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>21</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>22</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>23</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>24</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>25</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>26</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>31</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>32</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>33</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>34</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>35</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>36</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>41</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>42</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>43</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>44</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>45</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>46</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>51</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>52</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>53</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>54</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>55</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>56</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>61</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>62</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>63</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>64</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>65</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>66</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>θ<!-- θ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>θ<!-- θ --></mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>z</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\m_{z1}\\f_{x2}\\f_{y2}\\m_{z2}\\\end{bmatrix}}={\begin{bmatrix}k_{11}&k_{12}&k_{13}&k_{14}&k_{15}&k_{16}\\k_{21}&k_{22}&k_{23}&k_{24}&k_{25}&k_{26}\\k_{31}&k_{32}&k_{33}&k_{34}&k_{35}&k_{36}\\k_{41}&k_{42}&k_{43}&k_{44}&k_{45}&k_{46}\\k_{51}&k_{52}&k_{53}&k_{54}&k_{55}&k_{56}\\k_{61}&k_{62}&k_{63}&k_{64}&k_{65}&k_{66}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\\theta _{z1}\\u_{x2}\\u_{y2}\\\theta _{z2}\\\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./9639e75070635307384cee25e0af9c661db8949e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -9.171ex; width:51.981ex; height:19.509ex;" alt="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\m_{z1}\\f_{x2}\\f_{y2}\\m_{z2}\\\end{bmatrix}}={\begin{bmatrix}k_{11}&k_{12}&k_{13}&k_{14}&k_{15}&k_{16}\\k_{21}&k_{22}&k_{23}&k_{24}&k_{25}&k_{26}\\k_{31}&k_{32}&k_{33}&k_{34}&k_{35}&k_{36}\\k_{41}&k_{42}&k_{43}&k_{44}&k_{45}&k_{46}\\k_{51}&k_{52}&k_{53}&k_{54}&k_{55}&k_{56}\\k_{61}&k_{62}&k_{63}&k_{64}&k_{65}&k_{66}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\\theta _{z1}\\u_{x2}\\u_{y2}\\\theta _{z2}\\\end{bmatrix}}}" loading="lazy"></span>
</p><p>Other elements such as plates and shells can also be incorporated into the direct stiffness method and similar equations must be developed.
</p>
<div class="mw-heading mw-heading3"><h3 id="Assembly">Assembly</h3></div>
<p>Once the individual element stiffness relations have been developed they must be assembled into the original structure. The first step in this process is to convert the stiffness relations for the individual elements into a global system for the entire structure. In the case of a truss element, the global form of the stiffness method depends on the angle of the element with respect to the global coordinate system (This system is usually the traditional <a href="Cartesian_coordinate_system" title="Cartesian coordinate system">Cartesian coordinate system</a>).
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\f_{x2}\\f_{y2}\\\end{bmatrix}}={\frac {EA}{L}}{\begin{bmatrix}c^{2}&sc&-c^{2}&-sc\\sc&s^{2}&-sc&-s^{2}\\-c^{2}&-sc&c^{2}&sc\\-sc&-s^{2}&sc&s^{2}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\u_{x2}\\u_{y2}\\\end{bmatrix}}{\begin{array}{r }s=\sin \beta \\c=\cos \beta \\\end{array}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>E</mi>
<mi>A</mi>
</mrow>
<mi>L</mi>
</mfrac>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msup>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mi>s</mi>
<mi>c</mi>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msup>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mi>s</mi>
<mi>c</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>s</mi>
<mi>c</mi>
</mtd>
<mtd>
<msup>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mi>s</mi>
<mi>c</mi>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msup>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msup>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mi>s</mi>
<mi>c</mi>
</mtd>
<mtd>
<msup>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mi>s</mi>
<mi>c</mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mi>s</mi>
<mi>c</mi>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msup>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
<mtd>
<mi>s</mi>
<mi>c</mi>
</mtd>
<mtd>
<msup>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>s</mi>
<mo>=</mo>
<mi>sin</mi>
<mo><!-- --></mo>
<mi>β<!-- β --></mi>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>c</mi>
<mo>=</mo>
<mi>cos</mi>
<mo><!-- --></mo>
<mi>β<!-- β --></mi>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\f_{x2}\\f_{y2}\\\end{bmatrix}}={\frac {EA}{L}}{\begin{bmatrix}c^{2}&sc&-c^{2}&-sc\\sc&s^{2}&-sc&-s^{2}\\-c^{2}&-sc&c^{2}&sc\\-sc&-s^{2}&sc&s^{2}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\u_{x2}\\u_{y2}\\\end{bmatrix}}{\begin{array}{r }s=\sin \beta \\c=\cos \beta \\\end{array}}}</annotation>
</semantics>
</math></span><img src="./b0ba33b3ed68fb430d1f7bc0ceb7ab275bf87249.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.005ex; width:57.839ex; height:13.176ex;" alt="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\f_{x2}\\f_{y2}\\\end{bmatrix}}={\frac {EA}{L}}{\begin{bmatrix}c^{2}&sc&-c^{2}&-sc\\sc&s^{2}&-sc&-s^{2}\\-c^{2}&-sc&c^{2}&sc\\-sc&-s^{2}&sc&s^{2}\\\end{bmatrix}}{\begin{bmatrix}u_{x1}\\u_{y1}\\u_{x2}\\u_{y2}\\\end{bmatrix}}{\begin{array}{r }s=\sin \beta \\c=\cos \beta \\\end{array}}}" loading="lazy"></span>
<i> (for a truss element at angle β)</i>
Equivalently,
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\\hline f_{x2}\\f_{y2}\end{bmatrix}}={\frac {EA}{L}}\left[{\begin{array}{c c|c c}c_{x}c_{x}&c_{x}c_{y}&-c_{x}c_{x}&-c_{x}c_{y}\\c_{y}c_{x}&c_{y}c_{y}&-c_{y}c_{x}&-c_{y}c_{y}\\\hline -c_{x}c_{x}&-c_{x}c_{y}&c_{x}c_{x}&c_{x}c_{y}\\-c_{y}c_{x}&-c_{y}c_{y}&c_{y}c_{x}&c_{y}c_{y}\\\end{array}}\right]{\begin{bmatrix}u_{x1}\\u_{y1}\\\hline u_{x2}\\u_{y2}\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em" rowlines="none solid none">
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>E</mi>
<mi>A</mi>
</mrow>
<mi>L</mi>
</mfrac>
</mrow>
<mrow>
<mo>[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="center center center center" rowspacing="4pt" columnspacing="1em" rowlines="none solid none" columnlines="none solid none">
<mtr>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
</mrow>
<mo>]</mo>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em" rowlines="none solid none">
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>u</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
<mn>2</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\\hline f_{x2}\\f_{y2}\end{bmatrix}}={\frac {EA}{L}}\left[{\begin{array}{c c|c c}c_{x}c_{x}&c_{x}c_{y}&-c_{x}c_{x}&-c_{x}c_{y}\\c_{y}c_{x}&c_{y}c_{y}&-c_{y}c_{x}&-c_{y}c_{y}\\\hline -c_{x}c_{x}&-c_{x}c_{y}&c_{x}c_{x}&c_{x}c_{y}\\-c_{y}c_{x}&-c_{y}c_{y}&c_{y}c_{x}&c_{y}c_{y}\\\end{array}}\right]{\begin{bmatrix}u_{x1}\\u_{y1}\\\hline u_{x2}\\u_{y2}\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./e24897e0a82c5be5f294099a3313717bf11caeb6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.671ex; width:63.205ex; height:14.509ex;" alt="{\displaystyle {\begin{bmatrix}f_{x1}\\f_{y1}\\\hline f_{x2}\\f_{y2}\end{bmatrix}}={\frac {EA}{L}}\left[{\begin{array}{c c|c c}c_{x}c_{x}&c_{x}c_{y}&-c_{x}c_{x}&-c_{x}c_{y}\\c_{y}c_{x}&c_{y}c_{y}&-c_{y}c_{x}&-c_{y}c_{y}\\\hline -c_{x}c_{x}&-c_{x}c_{y}&c_{x}c_{x}&c_{x}c_{y}\\-c_{y}c_{x}&-c_{y}c_{y}&c_{y}c_{x}&c_{y}c_{y}\\\end{array}}\right]{\begin{bmatrix}u_{x1}\\u_{y1}\\\hline u_{x2}\\u_{y2}\end{bmatrix}}}" loading="lazy"></span>
</p><p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c_{x}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>x</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle c_{x}}</annotation>
</semantics>
</math></span><img src="./fb6e0397e797e2cde37718a8e2b2e0fad6252c8a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.179ex; height:2.009ex;" alt="{\displaystyle c_{x}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c_{y}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>c</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>y</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle c_{y}}</annotation>
</semantics>
</math></span><img src="./27012b7608c1ba3eec3d05e5eaa236bbd5399f5f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.056ex; height:2.343ex;" alt="{\displaystyle c_{y}}" loading="lazy"></span> are the direction cosines of the truss element (i.e., they are components of a unit vector aligned with the member). This form reveals how to generalize the element stiffness to 3-D space trusses by simply extending the pattern that is evident in this formulation.
</p><p>After developing the element stiffness matrix in the global coordinate system, they must be merged into a single “master” or “global” stiffness matrix. When merging these matrices together there are two rules that must be followed: compatibility of displacements and force equilibrium at each node. These rules are upheld by relating the element nodal displacements to the global nodal displacements.
</p><p><span class="mw-default-size" typeof="mw:File"></span>
</p><p>The global displacement and force vectors each contain one entry for each degree of freedom in the structure. The element stiffness matrices are merged by augmenting or expanding each matrix in conformation to the global displacement and load vectors.
</p><p><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k^{(1)}={\frac {EA}{L}}{\begin{bmatrix}1&0&-1&0\\0&0&0&0\\-1&0&1&0\\0&0&0&0\\\end{bmatrix}}\rightarrow K^{(1)}={\frac {EA}{L}}{\begin{bmatrix}1&0&-1&0&0&0\\0&0&0&0&0&0\\-1&0&1&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</msup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>E</mi>
<mi>A</mi>
</mrow>
<mi>L</mi>
</mfrac>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo stretchy="false">→<!-- → --></mo>
<msup>
<mi>K</mi>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">(</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</msup>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>E</mi>
<mi>A</mi>
</mrow>
<mi>L</mi>
</mfrac>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k^{(1)}={\frac {EA}{L}}{\begin{bmatrix}1&0&-1&0\\0&0&0&0\\-1&0&1&0\\0&0&0&0\\\end{bmatrix}}\rightarrow K^{(1)}={\frac {EA}{L}}{\begin{bmatrix}1&0&-1&0&0&0\\0&0&0&0&0&0\\-1&0&1&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./989b6490ffe51570f6c665bafea94fa8f1d21790.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -9.005ex; width:71.635ex; height:19.176ex;" alt="{\displaystyle k^{(1)}={\frac {EA}{L}}{\begin{bmatrix}1&0&-1&0\\0&0&0&0\\-1&0&1&0\\0&0&0&0\\\end{bmatrix}}\rightarrow K^{(1)}={\frac {EA}{L}}{\begin{bmatrix}1&0&-1&0&0&0\\0&0&0&0&0&0\\-1&0&1&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\0&0&0&0&0&0\\\end{bmatrix}}}" loading="lazy"></span>
<i>(for element (1) of the above structure)</i>
</p><p>Finally, the global stiffness matrix is constructed by adding the individual expanded element matrices together.
</p>
<div class="mw-heading mw-heading3"><h3 id="Solution_2">Solution</h3></div>
<p>Once the global stiffness matrix, displacement vector, and force vector have been constructed, the system can be expressed as a single matrix equation.
</p><p><span class="mw-default-size" typeof="mw:File"></span>
</p><p>For each degree of freedom in the structure, either the displacement or the force is known.
</p><p><span class="mw-default-size" typeof="mw:File"></span>
</p><p>After inserting the known value for each degree of freedom, the master stiffness equation is complete and ready to be evaluated. There are several different methods available for evaluating a matrix equation including but not limited to <a href="Cholesky_decomposition" title="Cholesky decomposition">Cholesky decomposition</a> and the brute force evaluation of systems of equations. If a structure isn’t properly restrained, the application of a force will cause it to move rigidly and additional support conditions must be added.
</p><p>The method described in this section is meant as an overview of the direct stiffness method. Additional sources should be consulted for more details on the process as well as the assumptions about material properties inherent in the process.
</p>
<div class="mw-heading mw-heading2"><h2 id="Applications">Applications</h2></div>
<p>The direct <b>stiffness method</b> was developed specifically to effectively and easily implement into computer software to evaluate complicated structures that contain a large number of elements. Today, nearly every finite element solver available is based on the direct stiffness method. While each program utilizes the same process, many have been streamlined to reduce computation time and reduce the required memory. In order to achieve this, shortcuts have been developed.
</p><p>One of the largest areas to utilize the direct stiffness method is the field of structural analysis where this method has been incorporated into modeling software. The software allows users to model a structure and, after the user defines the material properties of the elements, the program automatically generates element and global stiffness relationships. When various loading conditions are applied the software evaluates the structure and generates the deflections for the user.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Finite_element_method" title="Finite element method">Finite element method</a></li>
<li><a href="Finite_element_method_in_structural_mechanics" title="Finite element method in structural mechanics">Finite element method in structural mechanics</a></li>
<li><a href="Structural_analysis" title="Structural analysis">Structural analysis</a></li>
<li><a href="Flexibility_method" title="Flexibility method">Flexibility method</a></li>
<li><a href="List_of_finite_element_software_packages" title="List of finite element software packages">List of finite element software packages</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://faculty.washington.edu/eberhard/CEE%20379/1D_Spring_Systems.pdf">Application of direct stiffness method to a 1-D Spring System</a></li>
<li><a rel="nofollow" class="external text" href="http://www.duke.edu/~hpgavin/cee421/">Matrix Structural Analysis</a></li>
<li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070821072021/http://www.nenastran.com/newnoran/animations">Animations of Stiffness Analysis Simulations</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<ul><li><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFFelippa2001" class="citation cs2"><a href="Carlos_A._Felippa" title="Carlos A. Felippa">Felippa, Carlos A.</a> (2001), <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070629213233/http://www.colorado.edu/engineering/CAS/Felippa.d/FelippaHome.d/Publications.d/Report.CU-CAS-00-13.pdf">"A historical outline of matrix structural analysis: a play in three acts"</a> <span class="cs1-format">(PDF)</span>, <i>Computers & Structures</i>, <b>79</b> (14): <span class="nowrap">1313–</span>1324, <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0045-7949%2801%2900025-6">10.1016/S0045-7949(01)00025-6</a>, <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0045-7949">0045-7949</a>, archived from <a rel="nofollow" class="external text" href="http://www.colorado.edu/engineering/CAS/Felippa.d/FelippaHome.d/Publications.d/Report.CU-CAS-00-13.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2007-06-29<span class="reference-accessdate">, retrieved <span class="nowrap">2005-10-05</span></span></cite></li>
<li><a href="Felippa%2C_Carlos_A." class="mw-redirect" title="Felippa, Carlos A.">Felippa, Carlos A.</a> Introduction to Finite Element Method. Fall 2001. University of Colorado. 18 Sept. 2005</li>
<li>Robinson, John. Structural Matrix Analysis for the Engineer. New York: John Wiley & Sons, 1966</li>
<li>Rubinstein, Moshe F. Matrix Computer Analysis of Structures. New Jersey: Prentice-Hall, 1966</li>
<li>McGuire, W., Gallagher, R. H., and Ziemian, R. D. Matrix Structural Analysis, 2nd Ed. New York: John Wiley & Sons, 2000.</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Structural_engineering260" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Structural_engineering260" style="font-size:114%;margin:0 4em"><a href="Structural_engineering" title="Structural engineering">Structural engineering</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><a href="History_of_structural_engineering" title="History of structural engineering">History</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Dynamic analysis</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Duhamel's_integral" title="Duhamel's integral">Duhamel's integral</a></li>
<li><a href="Modal_analysis" title="Modal analysis">Modal analysis</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Static analysis</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Betti's_theorem" title="Betti's theorem">Betti's theorem</a></li>
<li><a href="Castigliano's_method" title="Castigliano's method">Castigliano's method</a></li>
<li><a href="Conjugate_beam_method" title="Conjugate beam method">Conjugate beam method</a></li>
<li><a href="Finite_element_method_in_structural_mechanics" title="Finite element method in structural mechanics">FEM</a></li>
<li><a href="Flexibility_method" title="Flexibility method">Flexibility method</a></li>
<li><a href="Macaulay's_method" title="Macaulay's method">Macaulay's method</a></li>
<li><a href="Moment-area_theorem" title="Moment-area theorem">Moment-area theorem</a></li>
<li><a href="Shear_and_moment_diagram" title="Shear and moment diagram">Shear and moment diagram</a></li>
<li><a href="Theorem_of_three_moments" title="Theorem of three moments">Theorem of three moments</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Structural_element" title="Structural element">Structural elements</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">1-dimensional</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Beam_(structure)" title="Beam (structure)">Beam</a>
<ul><li><a href="I-beam" title="I-beam">I-beam</a></li>
<li><a href="Lintel" title="Lintel">Lintel</a>
<ul><li><a href="Post_and_lintel" title="Post and lintel">Post and lintel</a></li></ul></li>
<li><a href="Span_(engineering)" title="Span (engineering)">Span</a></li></ul></li>
<li><a href="Compression_member" title="Compression member">Compression member</a></li>
<li><a href="Strut" title="Strut">Strut</a></li>
<li><a href="Tie_(engineering)" title="Tie (engineering)">Tie</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">2-dimensional</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Arch" title="Arch">Arch</a></li>
<li><a href="Thin-shell_structure" class="mw-redirect" title="Thin-shell structure">Thin-shell structure</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Structural_support" title="Structural support">Structural support</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Bracket_(architecture)" title="Bracket (architecture)">Bracket</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Theories</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Euler%E2%80%93Bernoulli_beam_theory" title="Euler–Bernoulli beam theory">Euler–Bernoulli beam theory</a></li>
<li><a href="Mohr%E2%80%93Coulomb_theory" title="Mohr–Coulomb theory">Mohr–Coulomb theory</a></li>
<li><a href="Plate_theory" title="Plate theory">Plate theory</a></li>
<li><a href="Timoshenko%E2%80%93Ehrenfest_beam_theory" title="Timoshenko–Ehrenfest beam theory">Timoshenko–Ehrenfest beam theory</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2024-10-22" href="https://en.wikipedia.org/wiki/?title=Direct_stiffness_method&oldid=1252602606">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>